از نسخه های قدیمی
اوراکل این امکان را داشتیم که
برای ستونهای جداول، مقدار پیش فرض و یا همان Default Value تعریف کنیم.
با تنظیم Default Value برای یک ستون، اگر در زمان اجرای دستور insert مقداری را برای آن ستون لحاظ نکرده باشیم، Default Value برای آن ستون اعمال خواهد شد:
SQL*Plus: Release 10.1.0.4.2 - Production on Sat Aug 5 16:28:29 2023
SQL> create table tbl1(id number,tarikh date default sysdate+1);
Table created.
SQL> insert into tbl1(id) values(1);
1 row created.
SQL> select * from tbl1; ID TARIKH
---------- --------- 1 06-AUG-23
در این شرایط اگر به صراحت مقدار NULL را برای ستون tarikh در نظر بگیریم چه اتفاقی می افتد؟
SQL> insert into tbl1 values(2,null);
1 row created.
SQL> select * from tbl1; ID TARIKH
---------- --------- 1 06-AUG-23 2
همانطور که می بینید، Default value در این حالت اعمال نشده است!
اوراکل در نسخه 12cR1
قابلیتی را اضافه کرده تا بتوان در این حالت هم مقدار Default Value به جای NULL برای ستون مورد نظر اعمال شود:
SQL*Plus: Release 12.1.0.2.0 Production on Sat Aug 5 16:30:29 2023
SQL> create table tbl1(id number,tarikh date default on null sysdate+1);
Table created.
SQL> insert into tbl1(id) values(1);
1 row created.
SQL> select * from tbl1; ID TARIKH
---------- --------- 1 06-AUG-23
SQL> insert into tbl1 values(2,null);
1 row created.
SQL> select * from tbl1; ID TARIKH
---------- --------- 1 06-AUG-23 2 06-AUG-23
در این شرایط، با توجه به شر تالار های تخصصی...
ما را در سایت تالار های تخصصی دنبال می کنید
برچسب : نویسنده : خنجی niksaleh بازدید : 58 تاريخ : سه شنبه 24 مرداد 1402 ساعت: 16:33